package com.molichuxing.services.business.service;

import java.util.List;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.business.dto.response.OrderDealerStatusInfoBizDto;
import com.molichuxing.services.business.dto.response.OrderTradeFlowBizDto;
import com.molichuxing.services.property.OrderListTypeEnum;

/**
 * 交易流程服务
 * 
 * @author zoumingyu
 * @date 2019年8月15日
 *
 */
public interface OrderTradeFlowBizService extends RootService {

	/**
	 * 获取订阅里程订单交易流程
	 * 
	 * @param orderCode
	 *            订单号
	 * @param listType：列表类型-enum
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<OrderTradeFlowBizDto> getSubscribeOrderFlow(Long orderCode, OrderListTypeEnum listType)
			throws Exception;

	/**
	 * 获取专属里程订单交易流程
	 * 
	 * @param orderCode
	 *            订单号
	 * @param listType：列表类型-enum
	 * @return
	 * @throws Exception
	 */
	public List<OrderTradeFlowBizDto> getExclusivelOrderFlow(Long orderCode, OrderListTypeEnum listType)
			throws Exception;

	/**
	 * 获取经销商订单交易流程
	 * 
	 * @param orderCode
	 *            订单号
	 * @return
	 */
	public List<OrderTradeFlowBizDto> getDealerOrderFlow(Long orderCode) throws Exception;


	/**
	 * 经销商系统采购单流转状态
	 * @param orderCode
	 * @return
	 * @throws Exception
	 */
	public OrderDealerStatusInfoBizDto getDealerOrderStatusFlow(Long orderCode) throws Exception;

}
